#ifndef _TST_CASCOM_H_
#define _TST_CASCOM_H_

#include "bd/be-designer.h"
#include "bd/proxy.h"
#include "bd/module.h"

#include <iostream>
#include <string>
#include <vector>

using namespace bd;


namespace tst {

	class Ccmgrp;
	class Sysmod;
	class Ccmp;
	class  Cascom_ccmp_sel_ON_CLICK_100;
	class  Cascom_ccmp_toexcel_ON_CLICK_100;
	class  Cascom_ccmp_pagefr_ON_CLICK_100;
	class  Cascom_ccmp_pageup_ON_CLICK_100;
	class  Cascom_ccmp_pagedo_ON_CLICK_100;
	class  Cascom_ccmp_pagela_ON_CLICK_100;
	class  Cascom_ccmp_pageto_ON_CLICK_100;
	
	class Cascom :public Transaction,public EventAble{
	public:
		Cascom(PageContext* context);
		~Cascom();
	protected:
		Ccmgrp*  _ccmgrp;
		Sysmod*  _sysmod;
		Ccmp*  _ccmp;
		Cascom_ccmp_sel_ON_CLICK_100*  _cascom_ccmp_sel_ON_CLICK_100;
		Cascom_ccmp_toexcel_ON_CLICK_100*  _cascom_ccmp_toexcel_ON_CLICK_100;
		Cascom_ccmp_pagefr_ON_CLICK_100*  _cascom_ccmp_pagefr_ON_CLICK_100;
		Cascom_ccmp_pageup_ON_CLICK_100*  _cascom_ccmp_pageup_ON_CLICK_100;
		Cascom_ccmp_pagedo_ON_CLICK_100*  _cascom_ccmp_pagedo_ON_CLICK_100;
		Cascom_ccmp_pagela_ON_CLICK_100*  _cascom_ccmp_pagela_ON_CLICK_100;
		Cascom_ccmp_pageto_ON_CLICK_100*  _cascom_ccmp_pageto_ON_CLICK_100;

	public:
		virtual void addChild();
		virtual void bindRules(PageContext *context);
		bool invokeEventRules(PageContext *context, Event &evt);
		
		Ccmgrp* getCcmgrp(){
			return this->_ccmgrp;
		}
		Sysmod* getSysmod(){
			return this->_sysmod;
		}
		Ccmp* getCcmp(){
			return this->_ccmp;
		}


		string orderby;
		int cascom_bigeest_page;
		int cascom_list_size;
		string cascom_sql_ex1;
		
	};
	
	
	class  Cascom_ccmp_sel_ON_CLICK_100 :public EventRule{
	public:
		Cascom_ccmp_sel_ON_CLICK_100(Cascom* parent);
		~Cascom_ccmp_sel_ON_CLICK_100();
	public:
		virtual bool invoke(PageContext *context, Event &evt);
	};
	class  Cascom_ccmp_toexcel_ON_CLICK_100 :public EventRule{
	public:
		Cascom_ccmp_toexcel_ON_CLICK_100(Cascom* parent);
		~Cascom_ccmp_toexcel_ON_CLICK_100();
	public:
		virtual bool invoke(PageContext *context, Event &evt);
	};
	class  Cascom_ccmp_pagefr_ON_CLICK_100 :public EventRule{
	public:
		Cascom_ccmp_pagefr_ON_CLICK_100(Cascom* parent);
		~Cascom_ccmp_pagefr_ON_CLICK_100();
	public:
		virtual bool invoke(PageContext *context, Event &evt);
	};
	class  Cascom_ccmp_pageup_ON_CLICK_100 :public EventRule{
	public:
		Cascom_ccmp_pageup_ON_CLICK_100(Cascom* parent);
		~Cascom_ccmp_pageup_ON_CLICK_100();
	public:
		virtual bool invoke(PageContext *context, Event &evt);
	};
	class  Cascom_ccmp_pagedo_ON_CLICK_100 :public EventRule{
	public:
		Cascom_ccmp_pagedo_ON_CLICK_100(Cascom* parent);
		~Cascom_ccmp_pagedo_ON_CLICK_100();
	public:
		virtual bool invoke(PageContext *context, Event &evt);
	};
	class  Cascom_ccmp_pagela_ON_CLICK_100 :public EventRule{
	public:
		Cascom_ccmp_pagela_ON_CLICK_100(Cascom* parent);
		~Cascom_ccmp_pagela_ON_CLICK_100();
	public:
		virtual bool invoke(PageContext *context, Event &evt);
	};
	class  Cascom_ccmp_pageto_ON_CLICK_100 :public EventRule{
	public:
		Cascom_ccmp_pageto_ON_CLICK_100(Cascom* parent);
		~Cascom_ccmp_pageto_ON_CLICK_100();
	public:
		virtual bool invoke(PageContext *context, Event &evt);
	};
}
#endif
